package Componentes;

import java.awt.Point;
import javax.swing.JLabel;
import java.awt.Rectangle;
import Terminadores.*;
import Juego.Puntaje;

public abstract class Componente extends JLabel{
	
	//Atributos de instancia

	protected int velocidad;
	protected int resistencia;
	protected Destructor destructor;
	protected Puntaje puntaje;
	protected int puntajeOtorgado;
	
	//HitBox asociada para las colisiones
	protected Rectangle rectangulo;
	
	//Servicios y Consultas
	
	public Rectangle obtenerRectangulo(){return rectangulo;}
	
	public int obtenerResistencia(){return resistencia;}

	public int obtenerVelocidad(){return velocidad;};
	
	
	public void setRectangle(Rectangle r){
		rectangulo = r;
	}
	
	public void disminuirResistencia(int cant){
			resistencia-= cant;
			if(resistencia <= 0){
				destruir();
				getPuntaje().modificarPuntaje(puntajeOtorgado);
			   
		}
	}
	
	public void setPuntaje(Puntaje p){
		puntaje = p;
	  }
	
	public Puntaje getPuntaje() {
	
		return puntaje;
	}
	
	public int puntajeOtorgado(){
		return puntajeOtorgado;
	}
	
	public void setDestructor(Destructor d){
		destructor = d;
	}
	
	public void mover(Point p){
		
		if (p.x+getWidth()<=500 && p.y>=-10 && p.x>=-10 && p.y+getHeight()<=580 ){
		   this.setLocation(p);
		    }
	   }
	public abstract void chocar(Componente c);
	
	public abstract void destruir();
	
	
	
}
